//
//  一些方便使用的宏定义
//
//  UtilsMacro.h
//  ZIHUAAPP
//
//  Created by tongcheng on 15/10/8.
//  Copyright © 2015年 zicunren. All rights reserved.
//

//  头文件中的 #ifndef/#define/#endif 防止该头文件被重复引用

/*
 头文件被重复引用引起的后果：
 有些头文件重复引用只是增加了编译工作的工作量，不会引起太大的问题，仅仅是编译效率低一些，但是对于大工程而言编译效率低下那将是一件多么痛苦的事情。
 有些头文件重复包含，会引起错误，比如在头文件中定义了全局变量(虽然这种方式不被推荐，但确实是C规范允许的)这种会引起重复定义。
 */

#ifndef UtilsMacro_h //if not defined 如果不存在.h
#define UtilsMacro_h  //就引入.h

#ifdef DEBUG // 处于开发阶段
#define SYLog(...) NSLog(__VA_ARGS__)
#else // 处于发布阶段
#define SYLog(...)
#endif

#define MTVersion [[[UIDevice currentDevice] systemVersion] floatValue] //版本
#define ScreenHeight     [UIScreen mainScreen].bounds.size.height //设备高
#define ScreenWidth     [UIScreen mainScreen].bounds.size.width   //设备宽

#define SYNSString(...) [NSString stringWithFormat:__VA_ARGS__] //生成一个字符串

#define isIos7      ([[[UIDevice currentDevice] systemVersion] floatValue]) //判断系统版本 --不太靠谱
#define StatusbarSize ((isIos7 >= 7 && __IPHONE_OS_VERSION_MAX_ALLOWED > __IPHONE_6_1)?20.f:0.f)

/* { thread } */
#define __async_opt__  dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0) //多线程？？？
#define __async_main__ dispatch_async(dispatch_get_main_queue()

#endif  //否则不需要引入 终止if
